-USB Support in Solaris 8 White Paper[1]

Reviews
Shared by: Lisa Wenner
Stats
views:
70
rating:
not rated
reviews:
0
posted:
1/31/2008
language:
English
pages:
0
Applied Computing Developer’s Conference Solaris 8 USB Support Anish Gupta (anish.gupta@sun.com) Jan Van Bruaene (jan.vanbruaene@sun.com) May 17, 2001 Slide 1 Sun Microsystems, Inc. 1 The Applied Computing Developer’s Conference 2001, organized by Annabooks and held May 14−17 in Santa Clara, CA, focused on technologies such as Infiniband, PCI, CompactPCI, PCI−X, RapidIO, IEEE1394, and USB. This presentation introduces USB support in Solaris[tm] 8 and Solaris 8 Update releases. This presentation highlights the USB framework, USB class drivers, and how to write USB drivers for the Solaris Operating Environment. It also covers Sun[tm] USB platform support, from the Sun Ray[tm] information appliance to workstations and server families. Lastly, there is information on Sun’s developer programs. 1 Agenda Platform Support UltraSPARC I/O Architecture Solaris USB Architecture: USBA USB Interfaces USBA Class Drivers Number of Devices Compatible USB Devices USB MDB Support Sun Ray USB Architecture Sun Ray Introduction Sun Ray Server Software USB Support Sun Ray Compatible USB Devices Number of Devices on Sun Ray Appliances javax.usb Solaris USB Developer Support Programs and Services Slide 2 Solaris Ready Sun Microsystems, Inc. 2 2 Platform Support • SPARC Based Workstations and Information Appliances ) – Sun Ray (http://www.sun.com/sunray ) – Sun Blade 100 (http://www.sun.com/desktop/sunblade100 ) – Sun Blade 1000 (http://www.sun.com/desktop/sunblade1000 – OHCI controller on the motherboard – Built−in hub with 4 powered ports – All ports are logically equal • • Slide 3 SPARC Based Servers – Netra T1, Netra X1 servers (http://www.sun.com/netra ) ) – Sun Fire 280R (http://www.sun.com/servers IA PCs (http://www.sun.com/software/intel ) – UHCI controllers only – Built−in hub or via PCI card – All ports are logically equal Sun Microsystems, Inc. 3 USB support was introduced in Sun systems with the advent of the Sun Ray information appliance. The Sun Ray family of systems provides four USB ports. Information about Sun Ray and how Sun Ray USB support differs from Solaris USB support is covered later in this presentation. Sun Blade[tm] 100 and Sun Blade 1000 are new workstations that provide a USB OHCI controller on the motherboard. Each system has four logically equal USB ports. In the telco family of servers, both the Netra[tm] T1 and X1 include two USB ports. The Sun Fire 280R is the first Sun Fire server to include USB on the motherboard. The Solaris Operating Environment is supported on both SPARC and IA (Intel Architecture) processors. Solaris 8 (Intel Platform Edition) includes support for UHCI controllers, both built−in on the motherboard or provided via a PCI card. 3 UltraSPARC I/O Architecture CPU MEMORY GRAPHICS High−Speed UPA / Sun Fire Backplane PCI 66MHz/ 64−bit PCI 33MHz/ 64−bit I/O Subsystem 4 Port USB Hub #1 #2 #3 #4 Slide 4 Sun Microsystems, Inc. 4 To situate the USB controller on UltraSPARC[tm] systems, this diagram shows a simplified and typical version of the UltraSPARC I/O architecture. Both UltraSPARC II and UltraSPARC III systems are built around a high−speed backplane. In UltraSPARC II systems, this bus is called the UPA (Ultra Port Architecture). In the newer UltraSPARC III systems, a new Sun Fire backplane is introduced. The Host to PCI bus ASIC (HPB) provides the connection between the host bus and two independent PCI buses. USB is part of the PCI I/O subsystem ASIC that resides on the PCI 33MHz /64−bit bus. This ASIC includes USB, 1394, Ethernet, and serial and parallel port connectivity. A four− port USB hub is built−in. 4 Solaris USB Architecture: USBA • • • • Solaris USB Framework: SPARC and IA USBA interface library − provides bi−directional communication between client drivers and the host controller driver Includes Open Host Controller Interface (OHCI) driver (SPARC only) and Universal Host Controller Interface (UHCI) driver (IA only) Developer interface to create USB target and class drivers Slide 5 Sun Microsystems, Inc. 5 The USB stack or framework in Solaris is called the USB architecture (USBA). USBA is supported on both SPARC and IA compatible machines. USBA provides bi−directional communication between client drivers (class drivers / device−specific drivers) and the host controller drivers. The Open Host Controller Interface (OHCI) driver is supported on SPARC based systems. A Unified Host Controller Interface (UHCI) driver is available on IA based systems. USBA is the developer interface to create USB class drivers and device−specific drivers. 5 USBA Interfaces • • • • • • • Data transfer routines (4 transfer types) USB pipe operations Miscellaneous routines (e.g. get descriptors) Suspend/Resume/Remote Wake−up support Power Management support Hot−plug support Device node support (creation/cleanup) Slide 6 Sun Microsystems, Inc. 6 The USBA interfaces include data transfer routines for all four transfer types: control, bulk, interrupt, and isochronous. Furthermore, interfaces are provided for USB pipe operations and miscellaneous routines. Suspend/Resume and Remote Wake−up is supported, as well as different functions for Power Management[tm]. USBA is hot−plug aware and creates and cleans up device nodes after a hot−plug event. 6 Solaris USB Architecture: USBA USBKBM USBMS USBPRN HUBD USB_MID AUDIO HID SCSA2USB MDB USB Architecture (USBA) Layer Host Controller Driver: OHCI/UHCI Peripheral Slide 7 Peripheral Peripheral Sun Microsystems, Inc. 7 This diagram provides an overview of the supported class drivers. Currently, the Human Input Device (HID) class is supported via support for a USB keyboard (USBKBM) and USB mouse (USBMS). SCSA2USB is Sun’s implementation of the USB mass storage class. A list of certified devices is mentioned later in the presentation. USBPRN supports USB printer class− compliant devices. HUBD is the USB hub driver. USB_MID provides support for multi−interface devices. Lastly, Solaris will soon support the USB audio class. When developing USB drivers, a USB MDB (modular debugger) provides the necessary functions to debug the USB device tree. 7 USBA Class Drivers − I • Solaris 8 FCS (03/00) – OHCI (SPARC) driver ohci(7D) + UHCI (IA) driver – – – – uhci(7D) Hub driver − hubd(7D) USB multi−interface driver − usb_mid(7D) Human Interface Device driver − hid(7D) supporting Sun keyboard − usbkbm(7M) and Sun mouse − usbms(7M) USB mass storage class driver (Bulk Only Transport) − SPARC/x86 scsa2usb(7D) • Solaris 8 Update 10/00 – USB printer class driver − usbprn(7D) Slide 8 Sun Microsystems, Inc. 8 Solaris 8 had its first customer shipment (FCS) March 2000. Solaris 8 FCS includes the host controller drivers, hub driver, multi−interface driver, HID, and mass storage driver (Bulk Only Transport). Sun releases periodic updates that include bug fixes and support for newer platforms and devices. The printer class driver was added at the launch of the Sun Blade 1000 workstation in October 2000. 8 USBA Class Drivers − II • Solaris 8 Update 04/01 – USB mass storage driver extensions (CD−RW support) – USB printer driver extensions (for parallel to USB adapter support) • Solaris 8 Update 06/01 – Generic USB bug fixes – USB audio class drivers − usb_ac(7D), usb_as(7D) Slide 9 Sun Microsystems, Inc. 9 At the launch of Sun Blade 100, CD−RW extensions were added to the USB mass storage driver. Extensions to the USB printer driver were also added to support parallel to USB adapters. The upcoming Solaris 8 06/01 release will include the USB audio class driver. 9 Number of Devices • • USB 1.1 Specification – Max. number of devices: 127 – Max. 5 hubs deep (in addition to root hub) Sun Blade Systems and IA PCs – 126 external USB devices – root hub takes up 1 USB address Slide 10 Sun Microsystems, Inc. 10 A root hub referes to the internal hub on the system’s motherboard providing USB connectivity (and / or to the external USB ports on a PCI card). 10 Compatible USB Devices − I • Sun USB Devices – – Sun USB keyboard (multi−lingual) Sun USB 3−button mouse • Human Interface Devices (HID) – Any U.S. keyboard that is HID class compliant (Non U.S. keyboards require e.g. OpenBoot Prom changes) – Third−party mouse devices (wheelmouse and mouse devices with more than 3 buttons are not supported) • USBA Compatible OHCI Cards – About 10 different OHCI cards tested: e.g. ADS, Belkin, Entrega, Symbios, Amedia, NEC, Wubteam – USB OHCI cards posted on http://www.sun.com/io • Slide 11 4− and 7−Port Hubs (both bus−powered and self−powered) NOTE: Sun does not guarantee correct operation of a device that does not carry the Sun brand. Sun Microsystems, Inc. 11 The following slides list a number of certified products. Sun’s web site for certified third−party I/O peripherals is http://www.sun.com/io. Solaris Ready certified products are listed at http://www.sun.com/solarisready. 11 Compatible USB Devices − II • Removable Storage Devices – USB removable storage devices that support Bulk Only Transport 1.0 – Iomega’s USB Zip100 and Zip250 drive, Jaz 1GB and Jaz – – – – – http://www.sun.com/io_technologies/storagesolutions.html Slide 12 2GB drive with SCSI−USB converter, Clik! PC Card drive, ZipCD CD−RW Castlewood Orb 2.2GB drive with SCSI−USB converter Hagiwara Sys−Com Flashgate SmartMedia reader/writer, Flashgate CF CompactFlash reader/writer, CF/SM Combo device SCM Microsystems SCSI to USB converter cable Addonics’s Pocket series CD−RW, DVD−ROM, Hard Disk NOTE: Sun does not guarantee correct operation of a device that does not carry the Sun brand. Sun Microsystems, Inc. 12 scsa2usb (7D) supports a variety of USB mass−storage devices andmedia. See the web−site in the above slide for a list of devices and media supported. 12 Compatible USB Devices – III • • • USB Printers – http://www.sun.com/products−n−solutions/hw/peripherals/printer – Lexmark Optra E310, M410, T616, ... and Xerox DocuPrint N2125 Other – USB KVM switches: e.g. ATEN CS−104U Sun attends USB Implementors’ Forum Plug Fests Slide 13 NOTE: Sun does not guarantee correct operation of a device that does not carry the Sun brand. Sun Microsystems, Inc. 13 Sun supports USB postscript printers and USB parallel port adapters. See web site for a list of Solaris Ready certified printers. 13 USB MDB Support − I • mdb(1M) − New and Powerful Debugger on Solaris – "dcmds" − debug commands to display specific info – dcmd usb_device_t – Each USB device has a usb_device_t data structure. – dcmd usb_hcdi_cb – Each USB transfer from HCD returns a structure. – dcmd usb_pipe_handle – Print informaion on a usb_pipe_handle data structure. – dcmd usba_debug_buf – Print usba_debug_buf. (internal circular debug buffer) – dcmd uhci_qh (IA only) – Print UHCI QH. – dcmd uhci_td (IA only) – Print UHCI TD. Slide 14 Sun Microsystems, Inc. 14 The modular debugger (MDB) allows you to do low−level debugging and editing of a live system. Various kernel subsystems provide their own modules, which are loaded live by MDB. You can then use these modules to look up their respective kernel subsystems. The USB MDB module allows you to look at Solaris USB kernel data structures. MDB uses walkers and dcmds to display information. Following are dcmds commands. usb_device_t is a per USB device internal structure that gives dev_info_t and driver’s state pointers along with how many endpoints the device has. It also gives the device’s Vendor−ID and Product−ID, among other things. usb_pipe_handle is maintained per a USB pipe and is a USBA data structure. uhci_qh and uhci_td provide uhci(7D) driver information (IA). 14 USB MDB Support − II • Walkers Are Used to "walk" Linked Lists and Display Information – walk usb_device_t – Walk global list of usb_device_t structures – – walk usb_hcdi_cb Walk hcdi callback list, given a dev_info_t pointer of an HCD – – walk usb_pipe_handle Walk USB pipe handles, given a usb_device_t pointer – – walk usba_list_entry Walk list of usba_list_entry_t structures – walk uhci_qh (IA only) – Walk list of UHCI QH structures – – walk uhci_td (IA only) Walk list of UHCI TD structures Slide 15 Sun Microsystems, Inc. 15 Walkers are typically used to walk a linked list of data structures. The examples show USB walkers for usb_device_t, usb_hcdi_cb, usb_pipe_handle, and usb_list_entry and also for uhci_qh and uhci_td (IA only). Unless otherwise mentioned, these notes apply to both SPARC and IA based systems. 15 Sun Ray USB Architecture Slide 16 Sun Microsystems, Inc. 16 Sun Ray appliances differ from Sun workstations and servers because the Sun Ray appliances rely on a Sun server to run the applications and to provide device support. Sun Ray is an example of a thin−client device based on Sun’s Hot Desk technology. Because of its client−server architecture, the Sun Ray USB architecture is different from the Solaris USB architecture. 16 Sun Ray Introduction • Sun Ray Family (http://www.sun.com/sunray ) – – – – – Sun Ray 1 Sun Ray 100 − Sun Ray embedded within 17" CRT Sun Ray 150 − Sun Ray embedded within 15" LCD All include built−in hub with 4 powered ports All ports are logically equal • Target Markets – Education, Technical Market, Customer Relation Management (CRM) – Health Care and Financial Services – Government – Point−of−Sale and Retail Slide 17 Sun Microsystems, Inc. 17 Currently Sun ships three Sun Ray information appliances: Sun Ray 1, Sun Ray 100, which is a Sun Ray embedded within a 17" CRT, and Sun Ray 150, which is a Sun Ray embedded within a 15" LCD. Sun Ray technology includes a major change − removing all legacy connectivity such as serial and parallel ports in favor of USB. All three products include four powered USB ports. 17 Sun Ray Server Software USB Support • • • Sun Ray USB Framework Differs From Solaris USBA – Remote device manager daemon running on the server Sun Ray 1.0 Enterprise Software* – HID (keyboard/mouse) and HUB support Sun Ray 1.2 Enterprise Software* – Specific USB−serial converters: Digi/ Inside Out Networks Edgeport products – USB printer class driver and USB to parallel adapters • Slide 18 For More Information – – – http://www.sun.com/sunray http://www.sun.com/io_technologies/sunray Sun Ray USB white papers * Sun Ray Enterprise software runs on Solaris 2.6, 7, and 8. Sun Microsystems, Inc. 18 The Sun Ray USB architecture differs from USBA. Key in the Sun Ray USB architecture is the remote device manager daemon. This daemon, which runs on the central server, is the gateway between the USB devices local to the Sun Ray appliance and the applications running on the server. In addition, the remote device manager is responsible for device ownership. Ownership policies are in place to deal with situations such as: What happens when a Sun Ray user is printing on a local USB printer and moves to another Sun Ray device? Can another user on a Sun Ray start a print job? The remote device manager in Sun Ray 1.0 Enterprise software is aware of HID and HUB devices local to the Sun Ray. Sun Ray 1.2 Enterprise software added support for a USB printer class and specific USB−serial converters. 18 Sun Ray USB Compatible Devices Devices listed at http://www.sun.com/io_technologies/sunray : • • • • • Sun USB keyboard and mouse Third−party 4−port and 7−port USB hubs (21 hubs verified) Third−party ergonomic USB mouse devices and trackballs USB printers USB−serial converters providing Sun Ray with multiple serial ports – Sun Ray 1.2 SW* – Digi/Inside Out Networks USB−serial converters – Single port converters * Sun Ray Enterprise software runs on Solaris 2.6, 7, and 8. Slide 19 NOTE: Sun does not guarantee correct operation of a device that does not carry the Sun brand. Sun Microsystems, Inc. 19 Certified Sun Ray USB devices are listed at http://www.sun.com/io, under the Sun Ray category. This list includes the Sun USB keyboard and mouse, third−party ergonomic USB mouse devices and trackballs, four−port and seven−port hubs, USB printers, USB−parallel adapters, and USB−serial converters from Digi/Inside Out Networks. 19 Number of Devices on Sun Ray • Sun Ray – Sun Ray 1 has, in addition to the root hub, a built−in 4−port hub => max 4 hubs deep, 125 external USB devices – Sun Ray 100 and 150 have 4−port root hubs => max 5 hubs deep and 126 devices Slide 20 Sun Microsystems, Inc. 20 Sun Ray 100 and Sun Ray 150 are similar to Sun workstations and servers because they supports 126 external devices and five hubs deep. Sun Ray 1, however, has an extra hub built−in, allowing connectivity of only four hubs deep. 20 javax.usb • Java USB API – A Java API for communicating with devices that are attached via the USB (similar to javax.comm) – Java Specification Request (JSR80) approved 09/12/00 – JCP Community Review closed on 05/14/01 – JCP Public Review target: 07/01 – JCP target for completion of specification: 09/01 – Initial Expert Group: IBM, Sun Microsystems, NCR, ICL/Fujitsu, Wincor−Nixdorf – http://java.sun.com/aboutJava/communityprocess Slide 21 Sun Microsystems, Inc. 21 Important to Sun Ray is the javax.usb class. javax.usb is a new Java[tm] API for communicating with devices that are attached via the USB. It is similar to javax.comm, which is used for serial and parallel port devices. The javax.usb specification is currently under development through the Java Community Process[sm]. A draft specification was proposed by the initial expert group of IBM, Sun Microsystems, NCR, ICL/Fujitsu, and Wincor−Nixdorf. The Java Specification Request (JSR80) contains more information. A final version of the specification is expected around September of this year. A Sun Ray implementation should follow soon thereafter. 21 Solaris USB Developer Support Slide 22 Sun Microsystems, Inc. 22 The following slides explain where to get information about developing a USB driver for the Solaris Operating Environment. 22 Market Development Engineering I/O Technologies • • • • • • Slide 23 Communicate standard I/O directions and product requirements to IHVs Work with field, customers, and developers to understand peripheral requirements Help independent hardware vendors (IHVs) with tools, tech support, and loaner equipment Verify completed IHV products Promote IHV products via web sites Provide links to channels Sun Microsystems, Inc. 23 Sun’s Market Development Engineering (MDE) organization is focused on supporting independent software and hardware vendors (ISVs/IHVs). The I/O technologies and solutions group is dedicated to working with third−party I/O hardware. Some I/O technologies covered are: PCI, USB, 1394, SCSI, and FDDI. Our charter is to communicate standard I/O directions and product requirements to IHVs. MDE I/O Technologies provides software and hardware support through tools, documentation, loaner equipment, and engineers helping with debugging. IHVs can test their products on the full range of Sun platforms in Sun’s labs on both the East coast (Burlington) and the West coast (Menlo Park). Certified products are promoted via internal and external web sites. 23 Programs and Services for IHV Peripherals • Sun Developer Connection – – – – – http://www.sun.com/developers Sun Developer Essentials Java JumpStart Edition Solaris Foundation Edition Enterprise Edition – – Solaris Developer Connection (soldc.sun.com) Java Developer Connection (java.sun.com) • • Slide 24 Solaris Ready Branding Logo Technical Assistance for Strategic Initiatives Sun Microsystems, Inc. 24 The first stop for any Solaris or Java developer should be the Sun Developer Connection[sm] which provides several technical and marketing programs. Key initiatives for developers are: − Sun Developer Essentials[sm], which provides quarterly updates of tools, OS versions, and a driver development kit, among other CDs − Solaris Developer Connection[sm] and Java Developer Connection[sm] portals that lead to vast amounts of technical information 24 Solaris Ready • Product has been certified to operate in Sun’s Solaris Operating Environment (SPARC or IA) • For commercial whole products • Plug in, it just runs • Third−party worldwide service/support • Co−marketing benefits • Sun Channel access • http://www.sun.com/solarisready Slide 25 Sun Microsystems, Inc. 25 The goal of the Solaris Ready program is to allow our customers to easily identify third−party products that have been certified, through rigorous testing, to be compatible with Sun’s SPARC family of workstations and servers and with Sun’s Solaris Operating Environment. The Solaris Ready logo represents our joint commitment to reliability, interoperability, and above all customer satisfaction. Consequently, this program should simplify and accelerate the sales cycle for vendors of products that bear the Solaris Ready logo, in addition to significantly increasing market potential. For more information, go to: http://www.sun.com/solarisready 25 Call for Participation • Sign up: jan.vanbruaene@sun.com • CDA agreement • Agreement to develop/support products for the Solaris Operating Environment • USB DDK • Developer support • Loaner equipment • Interoperability testing and verification Slide 26 Sun Microsystems, Inc. 26 If you are interested in developing USB drivers for Sun’s Solaris or Java products, contact jan.vanbruaene@sun.com. The USB driver developer kit (DDK) is available to selected customers under a CDA agreement. 26

Related docs
-USB Support in Solaris 8 White Paper
Views: 67  |  Downloads: 1
USB in a Nutshwell
Views: 239  |  Downloads: 42
Open Solaris
Views: 86  |  Downloads: 13
expanding-digital-idc-white-paper[1]
Views: 11  |  Downloads: 1
USB
Views: 132  |  Downloads: 24
usb bandwidth
Views: 208  |  Downloads: 3
designing usb
Views: 87  |  Downloads: 4
What is Solaris Nevada Nevada at Build 72
Views: 31  |  Downloads: 0
premium docs
Other docs by Lisa Wenner
UNIVERSIDADE FEDERAL DO RIO GRANDE
Views: 329  |  Downloads: 1
UNIVERSIDADE ESTADUAL PAULISTA
Views: 258  |  Downloads: 0
UNIVERSIDADE DE SÃO PAULO
Views: 179020  |  Downloads: 0
UNIVERSIDADE DE SANTA CRUZ DO SUL
Views: 279  |  Downloads: 1
TORNEIO DE FUTSAL DA FRANCOFONIA 2008
Views: 214  |  Downloads: 0
Tia Eliane Tours Tia Eliane
Views: 297  |  Downloads: 0
TERMO DE RESPONSABILIDADE
Views: 1112  |  Downloads: 1
TERMO DE RESCISÃO DE
Views: 987  |  Downloads: 1
TERMO DE AUTORIZAÇÃO Eu
Views: 359  |  Downloads: 0
TERMO DE ADESAO AO SERVIÇO VOLUNTÁRIO
Views: 229  |  Downloads: 1
Sindicato dos Fisioterapeutas
Views: 237  |  Downloads: 0
SEMINÁRIO TEOLÓGICO BATISTA DO SUL DO BRASIL
Views: 416  |  Downloads: 0
Seguro Saúde Canadense
Views: 468  |  Downloads: 0
RESOLUÇÃO TRE
Views: 149  |  Downloads: 0